アプリケーションアーキテクチャ > ビジネスロジック層
#設計
そのシステムで業務を表現するモデルや処理への関心
ドメイン
業務的なバリデーションやルールの適用など
大きく次の 2 種類の実装方法がある
トランザクションスクリプト
ドメインモデル
要求の複雑さによってはさらに
抽象化
の層を設けることがある
ユースケース
層とか
ドメインモデル
を作成する場合はこの中で
アプリケーションレイヤ
と
ドメイン
の2層に分けるなど
Rails
の
ActiveRecord
は
ドメインモデル
と
データアクセス
層を同居させることで高い
生産性
を発揮している
「それがなにか」(What)と「どうするか」(How)の分離
リソースとユースケースの分離
ドメイン
知識を
トランザクション
から分離して閉じ込めると取り回しやすくなるので普遍的なユースケースに耐えられるようになる
副作用とドメインを切り離す